<template>
    <view>
        <!-- pages/community2/index.wxml -->
		<view class="head-block" v-if="weixin == 2">
		     <view class="nav-title" :style="'top:10px'"></view>
			 <!-- 返回 -->
			 <view class="icon" @tap="goMy" :style="'top:6px'">
			      <van-icon name="arrow-left" color="#333" size="45rpx" />
			  </view>
		 </view>
        <view style="margin-top: 50rpx">
            <form action="/">
                <van-search v-model="name" placeholder="请输入搜索关键词" background="#fffff" @search="onSearch" @cancel="onCancel" />
            </form>
            <view class="center">
                <text class="text">没有找到？点击</text>
                <view class="btn" @tap="handleSearch">更多搜索</view>
            </view>
            <view class="search-result">
                <view class="search-result-list" v-if="list.length > 0" :data-value="item" @tap="handleAddcommunity" v-for="(item, index) in list" :key="item.code">
                    <view class="flex">
                        <view class="map_icon">
                            <image src="../../static/assets/img/map.png" style="width: 32rpx; height: 32rpx; margin: 20rpx 10rpx"></image>
                        </view>
                        <view class="map_result">
                            <view class="map_title">{{ item.name }}</view>
                            <view class="map_detail">{{ item.address }}</view>
                        </view>
                    </view>
                </view>
            </view>
        </view>
        <view class="btnonOk" @tap="handleOk">确定</view>
    </view>
</template>

<script>
// pages/community2/index.js
import util from './../../utils/util.js';
import api from './../../utils/api.js';
export default {
    data() {
        return {
            // marginTopmenuBtn: uni.getMenuButtonBoundingClientRect(),

            //获取胶囊的初始位置  value,
            name: '',

            //搜索框
            list: [],

            //模糊搜索车场信息
            mapname: {},

            //高德地图添加车场信息
            code: null,

            //添加小区的code
            name: null,

            //添加小区的code
            type: 1,

            //判断1是模糊搜索添加车场，2高德地图添加车场
            url: null,

            //判断过来的页面的url
            //点击模糊搜索车场列表获取内容
            value: {},

            unitCode: '',
            parkingCode: '',
			weixin:uni.getStorageSync('weixin')
        };
    }
    /**
     * 生命周期函数--监听页面加载
     */,
    onLoad: function (options) {
        this.setData({
            url: options.url && options ? options.url : null
        });
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {},
    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        console.log(this.mapname);

        if (Object.keys(this.mapname).length > 0) {
            let name = this.mapname.name;
            this.setData({
                name: name,
                list: [],
                type: 2
            });
        }
    },
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {},
    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {},
    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {},
    /**
     * 页面上拉触底事件的处理函数
     */
    // onShareAppMessage: function () {},
    onReachBottom: function () {},
    /**
     * 用户点击右上角分享
     */ methods: {
        goBack() {
            uni.navigateBack({
                delta: 1
            });
        },

        //车场模糊搜索
        onSearch() {
            this.queryParkingByName(this.name);
        },

        onCancel() {
            Toast('取消');
        },

        //去高德地图页面搜索
        handleSearch() {
            uni.navigateTo({
                url: '../searchParkspace/searchParkspace' + '?url=community2'
            });
        },

        //添加小区确定
        handleOk() {
            if (this.list.length != 0) {
                let datas = this.list[0];
                this.setData({
                    unitCode: datas.unitCode,
                    parkingCode: datas.parkingCode,
                    name: datas.name,
                    type: 1,
                    value: datas
                });
            }

            if (this.url && this.type == 1) {
                let pages = getCurrentPages(); //获取当前页面js里面的pages里的所有信息。

                let prevPage = pages[pages.length - 2]; //prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面，-3是上上个页面以此类推。

                prevPage.setData({
                    // 将我们想要传递的参数在这里直接setData。上个页面就会执行这里的操作。
                    parkingCode: this.value.parkingCode,
                    mapname: {
                        name: this.value.name
                    }
                });
                uni.navigateBack({
                    delta: 1
                });
            } else if (this.type == 1) {
                this.getcommitMyUnit(this.unitCode, this.parkingCode);
            } else {
                let pages = getCurrentPages(); //获取当前页面js里面的pages里的所有信息。

                let prevPage = pages[pages.length - 2]; //prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面，-3是上上个页面以此类推。

                prevPage.setData({
                    // 将我们想要传递的参数在这里直接setData。上个页面就会执行这里的操作。
                    mapname: this.mapname
                });
                this.userAddParking(this.mapname);
            }
        },

        //添加小区
        handleAddcommunity(e) {
            const { unitCode, name, parkingCode } = e.currentTarget.dataset.value;
            this.setData({
                list: [],
                unitCode: unitCode,
                name: name,
                type: 1,
                parkingCode: parkingCode,
                value: e.currentTarget.dataset.value
            });
        },

        //申请关联小区
        getcommitMyUnit(data, parkingCode) {
            const unionId = uni.getStorageSync('unionId') || '';
            util.request(api.commitMyUnit + '?userUnionId=' + unionId + '&unitCode=' + data + '&parkingCode=' + parkingCode, 'get').then((res) => {
                if (res.code == 0) {
                    uni.showToast({
                        title: '添加成功',
                        icon: 'success'
                    }); // wx.navigateTo({
                    //   url: '../community1/index',
                    // })

                    uni.navigateBack({
                        delta: 1
                    });
                } else {
                    uni.showToast({
                        title: res.msg,
                        icon: 'none'
                    });
                }
            });
        },
		goMy() {
		     uni.navigateBack({
		         delta: 1
		     });
		 },
        //车场模糊搜索
        queryParkingByName(val) {
            util.request(api.queryParkingByName + '?name=' + val, 'get').then((res) => {
                if (res.code == 0) {
                    if (res.data.length == 0) {
                        uni.showToast({
                            title: '未找到您的小区',
                            icon: 'none'
                        });
                    } else {
                        this.setData({
                            list: res.data
                        });
                    }
                } else {
                    uni.showToast({
                        title: res.msg,
                        icon: 'none'
                    });
                }
            });
        },

        //添加车场白名单
        userAddParking(val) {
            let locationxy = [];

            if (!val.location) {
                return;
            }

            locationxy = val.location.split(',');
            const unionId = uni.getStorageSync('unionId') || '';
            let param = {
                parkingName: val.name || '',
                address: val.district || '',
                x: locationxy[0] || '',
                y: locationxy[1] || '',
                unionId: unionId
            };
            util.request(api.userAddParking, param, 'POST').then((res) => {
                if (res.code == 0) {
                    uni.showToast({
                        title: res.msg
                    });
                    let pages = getCurrentPages(); //获取当前页面js里面的pages里的所有信息。

                    let prevPage = pages[pages.length - 2]; //prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面，-3是上上个页面以此类推。

                    prevPage.setData({
                        // 将我们想要传递的参数在这里直接setData。上个页面就会执行这里的操作。
                        parkingCode: res.data
                    });
                    uni.navigateBack({
                        delta: 1
                    });
                } else {
                    uni.showToast({
                        title: res.msg,
                        icon: 'none'
                    });
                }
            });
        }
    }
};
</script>
<style>
@import './index.css';
</style>
